The present invention relates generally to data transfer between computer systems and more particularly to techniques for transferring data between computer systems were each employs a storage unit storing data in a different format.
As their external storage unit, mainframe hosts employ a magnetic disk unit which uses a variable-sized record data format to store data. Conventionally, this type of magnetic disk unit has a CKD (Count Key Data) interface which enables access to variable-sized record data. That is, conventionally, storage of variable-sized record format data is physically implemented in a magnetic disk unit having a CKD interface.
Recently, there have been employed magnetic disk units which are relatively inexpensive and used in open hosts such as personal computers and workstations, and which use a fixed-sized block (FBA: Fixed Block Architecture) format to store data. For example, RAID (Redundant Array of Inexpensive Disks) composed of a plurality of such magnetic disk units has become widely used. As described by a paper entitled “A Case for Redundant Arrays of Inexpensive Disks (RAID)” by D. Patterson, G. Gibson, and R. H. Kartz (ACM SIGMOD Conference, Chicago, Ill., June 1988, pp. 109–116), which was published in ACM SIGMOD Conference at the University of Illinois, Chicago, RAID is a technique in which a plurality of relatively inexpensive and low-reliability disk units are connected to distribute and store data to a plurality of disk units in order to realize performance enhancement by transferring data in parallel, and high availability by storing redundant data.
Incidentally, a “disk unit” recognized by a host maybe either an actual disk unit or a RAID composed of a plurality of disk units. To discriminate disk units in these two layers, a disk unit recognized by a host is hereinafter called a “logical disk unit”, while a “physical disk unit” refers to an actual disk unit which has a CKD interface and stores CKD format data, or which has an FBA interface and stores FBA format data.
Further, hereinafter, a variable-sized record format used by mainframe hosts is called the “CKD format”; a disk unit which has a CKD interface and stores data in the CKD format is called a “CKD disk unit”; and a disk unit which stores data in the FBA format is called an “FBA disk unit”.
Still further, hereinafter, a CKD disk unit recognized by a host is called a “logical CKD disk unit”, while an FBA disk unit recognized by a host is called a “logical FBA disk unit”. On the other hand, an actual CKD disk unit is called a “physical CKD disk unit”, while an actual FBA disk unit is called a “physical FBA disk unit”.
When it is not necessary to discriminate between a logical FBA disk unit and a physical FBA disk unit, they are each simply called an FBA disk unit, while when it is not necessary to discriminate between a logical CKD disk unit and a physical CKD disk unit, they are each simply called a CKD disk unit. It should be noted that a logical FBA disk unit and a physical FBA disk unit may be actually the same FBA disk unit, and similarly, a logical CKD disk unit and a physical CKD disk unit may be the same CKD disk unit.
As described above, a physical FBA disk unit used for RAID has a SCSI interface, etc. and stores data in the FBA format. Therefore, in a storage system connected to a mainframe host to receive CKD format data from a CKD interface and write the data into a physical disk unit of the FBA format, it is necessary to incorporate a transformation mechanism transforming the CKD format to the FBA format as well as its reverse transformation mechanism.
For example, a mainframe computer which has a SCSI interface and incorporates an FBA disk unit in its frame is a Mutiprise 2000, produced by IBM Corp. of Armonk N.Y. In this mainframe, the CPU issues a group of commands (CCW: Channel Command Word) to access CKD format data as input/output requests. And a disk control processor dedicated for input/output control of built-in disk units receives/understands the requests, transforms them to a group of commands (SCSI commands) to access FBA format data, and inputs/outputs the data to/from an FBA disk unit. This transformation mechanism makes it possible to use an FBA disk unit as an external storage unit for a mainframe computer without changing application programs and the OS which conventionally assume use of a CKD disk unit. Another example of a format transformation mechanism of this type is disclosed in, for example, Japanese Laid-Open Patent Publication No. 6-150557 (1994).
In order to support administrative decision making by obtaining actual sales results and analyzing market needs, needs for OLAP and data mining utilizing business data held by enterprise systems which use a mainframe host are recently increasing. To accommodate the needs, a data linkage function has become important in which basic data stored in databases implemented in CKD disk units of mainframe computers is transferred to PCs and workstations, and used there.
As a method for transferring data stored in a CKD disk unit of such a mainframe computer to an open host (for example a PC or workstation), the data may be transferred between the hosts through a network such as a LAN. However, this method imposes a load on both hosts and the network, which might have an adverse influence such as reduced execution speed of other business operations. To cope with this problem, a technique disclosed in U.S. Pat. No. 5,983,317 issued Nov. 9, 1999 and U.S. Pat. No. 6,041,391 issued Mar. 21, 2000, transfers data as follows.
A storage unit composed of a physical FBA disk unit and a disk controller is connected to both a mainframe host and an open host. The disk controller of this disk unit operates so that the mainframe host recognizes the physical FBA disk unit as a logical CKD disk unit A, while the open host recognizes the same physical FBA disk unit as a logical FBA disk unit B.
First, the mainframe host reads out transfer target data stored in another CKD disk unit, generates intermediate data, and stores it in the logical CKD disk unit A. At that time, the disk controller transforms the transfer data from the CKD format to the FBA format, and writes it into the physical FBA disk unit according to a write request issued from the mainframe host to write the transfer data to the logical CKD disk unit. This transformation is performed so that count fields and data fields of the data of the CKD format remain and are included in the transformed data of the FBA format after the transformation.
Next, the open host requests access to the intermediate data written into the logical FBA disk unit B. The disk controller reads from the physical FBA disk unit the intermediate data to which access has been requested, and transfers the data to the open host without changing its FBA format.
The open host recognizes the CKD format data included in the transferred FBA format data, and performs processes such as extraction of necessary data excluding count fields, and character code conversion before using the data.
According to the above technique disclosed in U.S. Pat. Nos. 5,983,317 and 6,041,391, in order to transfer data stored in a CKD disk unit of a mainframe host to an open host, it is necessary to perform two input/output operations: writing of transfer target data read from the CKD disk unit into a physical FBA disk unit and reading of the transfer target data from the physical FBA disk unit. Because of this, it takes time to transfer data.
Thus there is a need to transfer data between host systems each handling data of a different format, at higher speed.